package model;

import hbtDAO.HibernateDiccionarioDAO;
import hbtDAO.HibernateRankingDAO;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import beans.RankingView;

@Entity
@Table(name="Ranking")
public class Ranking {
	
	//@EmbeddedId
	@Id 
	@Column(name="Id")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;

	@OneToOne
	@JoinColumn(name="Legajo")
	private Usuario usuario;

	@OneToOne
	@JoinColumn(name="Id_Tema")
	private Tema tema;
	
	
	@Column(name="Valor")
	private Double valor;
	
	
//	public RankingID getId() {
//		return id;
//	}
//
//	public void setId(RankingID id) {
//		this.id = id;
//	}
	

	
//	public Ranking(Tema t, Usuario creador, Double valor) {
//		super();
//		this.id = new RankingID(t, creador);
//		this.valor = valor;
//	}
	

	public Ranking() {
		super();
	}
	public Ranking( Usuario usuario, Tema tema, Double valor) {
		super();
		//this.id = id;
		this.usuario = usuario;
		this.tema = tema;
		this.valor = valor;
	}
	public Double getValor() {
		return valor;
	}
	public void setValor(Double valor) {
		this.valor = valor;
	}
	public void persistir() {
		HibernateRankingDAO.getInstancia().guardarUnRanking(this);
	}
	public RankingView getView() {
		return new RankingView(null, usuario.getView(),valor);//null,null,null);//
	}
}
